const tool = require('./tool.js');

exports.main = main;
//不在直播间的次数
const notLiveCount = 0
//一轮最多参与福袋的次数
const maxCount = 50
let params = null
function main(p) {
    params = p
    restartJb()
}

function restartJb() {
    tool.restartApp("微信")
    //进入直播间
    enterLive()
}

//进入直播间
function enterLive() {
    //点击发现
    tool.log("点击发现")
    press(770, 2650, 100);
    // click("发现")
    sleep(1500)
    //点击直播间
    tool.log("点击直播")
    press(600, 720, 100);
    // click("直播")
    sleep(10000)
    //是否在直播间
    let live = isLive()
    if (live) {
        sleep(2000)
        //关闭直播间
        press(1150, 205, 100);
        tool.log("关闭直播间")
        sleep(5000)
    }
    //进入分类
    enterToSum()
    sleep(3000)
    //  //进入第一个直播间
    tool.log("进入第一个直播间")
    press(300, 650, 100);
    sleep(random(6000, 10000))
    start()
}

//进入分类P
function enterToSum() {
    if(text("直播").exists()){
      if(!text("购物").exists()){
        tool.log("点击分类")
        press(1055, 185, 100);
        sleep(5000)
      }
    }
    tool.clickText("购物",2000)
    tool.log("购物")
    sleep(3000)
    if (text("全部").exists()) {
        //找到全部
        let allBtn = text("全部").findOne(2000).bounds()
        while (true) {
            if (text(params.wxfdtype).exists()) {
                click(params.wxfdtype)
                sleep(3000)
                swipe(600,500,660,1900, 1500)
                sleep(3000)
                break;
            } else {
                tool.log("开始移动")
                swipe(device.width - 100, allBtn.centerY() * tool.by, 100, allBtn.centerY() * tool.by, 500)
                sleep(1000)
            }
        }
    } else {
        tool.log("没有全部")
    }
}

//判断当前是否在直播间
function isLive() {
    //是否在直播间
    let live = textContains("人看过").exists();
    // tool.log(live)
    if (live) {
        notLiveCount = 0
        return true;
    } else {
        notLiveCount++
        if (notLiveCount > 5) {
            notLiveCount = 0
            restartJb()
        }
        return false;
    }
}

//开始参与福袋
function start() {
    tool.log("开始参与福袋")
    //参与成功的次数
    let successCount = 0
    //参与失败的次数
    let failCount = 0
    for (var i = 1; i < maxCount; i++) {
        if(!isLive()){
            successCount++
            if (successCount > 5) {
                tool.log("超过5次没参与福袋")
                break
            }
            continue;
        }
        let isJoin = openFuBao()
        if (!isJoin) {
            isJoin = openFuBao2()
        }
        if (isJoin) {
            successCount++
            failCount = 0
        } else {
            failCount++
        }
        tool.log(`第${i}次执行----已参与${successCount}个福袋`)
        if (failCount > 5) {
            tool.log("超过5次没参与福袋")
            break
        } else {
            nextLive()
        }
    }
    tool.log("结束参与福袋")
    restartJb()
}

//打开第一个坐标的福袋
function openFuBao() {
    tool.log("打开第一个坐标的福袋")
    //点击福袋
    press(110, 540, 100);
    return joinLottery()
}

//打开第二个坐标的福袋
function openFuBao2() {
    tool.log("打开第二个坐标的福袋")
    press(250, 540, 100);
    return joinLottery()
}

//参与抽奖
function joinLottery() {
    //是否参与福袋
    let isJoin = false
    sleep(1000)
    //判断是否为实物奖品
    if (className("android.widget.TextView").text("奖品").exists()) {
        tool.log("存在实物奖品")
        if (className("android.widget.TextView").text("发表评论后参与").exists()) {
            className("android.widget.TextView").text("发表评论后参与").click()
            sleep(1500)
            //点击发送
            className("android.widget.TextView").text("发送").click()
            sleep(1500)
            return true;
        } else if (className("android.widget.TextView").textContains("未中奖").exists()) {
            tool.log("关闭没有中奖的福袋")
            press(620, 2354, 100);
            return true;
        } else {
            tool.log("不是发表评论参与")
            press(600, 400, 100);
            return true;
        }
    } else if (className("android.widget.TextView").textContains("中奖后").exists()) {
        tool.log("不存在实物奖品")
        press(600, 400, 100);
    } else if (className("android.widget.TextView").textContains("礼物心愿").exists()) {
        tool.log("关闭礼物清单")
        press(600, 400, 100);
    } else if (className("android.widget.TextView").textContains("红包").exists()) {
        tool.log("关闭红包")
        press(620, 2354, 100);
    } else if (textContains("送礼物").exists()) {
        tool.log("关闭礼物")
        press(600, 400, 100);
    } else {
        tool.log("没有福袋")
    }
    return isJoin;
}

//切换下一个直播间
function nextLive() {
    tool.log("切换下一个直播间")
    tool.clickText("未中奖", 500)
    tool.clickDesc("关闭", 500)
    sleep(random(1000, 2000))
    let startX = random(400, 500)
    let startY = random(1200, 1300)
    let endX = random(500, 600)
    swipe(startX * tool.bx, startY * tool.by, endX * tool.bx, 600, 200)
    swipe(startX * tool.bx, startY * tool.by, endX * tool.bx, 30, 200)
    sleep(random(3000, 5000))
}
